%% Temple university CIS 2033
% A modern Introduction to Probability and Statistics
% Chapter 3 - Conditional probability and independence
%
% Author: Djordje Gligorijevic
% email: gligorijevic@temple.edu

%% The probability of no coincident birthdays

% Use sameBirhtDayProbability.m script for this demonstration.

%% Monty Hall problem
%
% Reference: http://rosettacode.org/wiki/Monty_Hall_problem
%
% Run random simulations of the Monty Hall game. Show the effects of a 
% strategy of the contestant always keeping his first guess so it can be 
% contrasted with the strategy of the contestant always switching his guess.
% 
% Suppose you're on a game show and you're given the choice of three doors. 
% Behind one door is a car; behind the others, goats. The car and the goats
% were placed randomly behind the doors before the show. The rules of the 
% game show are as follows: After you have chosen a door, the door remains 
% closed for the time being. The game show host, Monty Hall, who knows what
% is behind the doors, now has to open one of the two remaining doors, and 
% the door he opens must have a goat behind it. If both remaining doors 
% have goats behind them, he chooses one randomly. After Monty Hall opens 
% a door with a goat, he will ask you to decide whether you want to stay 
% with your first choice or to switch to the last remaining door. 
% Imagine that you chose Door 1 and the host opens Door 3, which has a goat. 
% He then asks you "Do you want to switch to Door Number 2?" 
%
% Is it to your advantage to change your choice? (Krauss and Wang 2003:10)
% Note that the player may initially choose any of the three doors 
% (not just Door 1), that the host opens a different door revealing a goat 
% (not necessarily Door 3), and that he gives the player a second choice 
% between the two remaining unopened doors.
%
% Simulate at least a thousand games using three doors for each strategy
% and show the results in such a way as to make it easy to compare the
% effects of each strategy.

numDoors = 3;
numSimulations = 1000;
[swithcWinPercentage,stayWinPercentage] = montyHall(numDoors,numSimulations);

%% Monty Hall problem - code 2

montyHall2(100,3,0)